#pragma once
#ifndef _BATTLE_STATUS_H
#define _BATTLE_STATUS_H

#include "../common/Ptr.hpp"
#include "../common/configure.h"
#include "PlayerManager.h"


class BattleStatus
{
private:
  Ptr< PlayerManager > _pPlayerMng;
  float _sunDegree;
  unsigned int _totalTime;
  unsigned int _timeLeft;

  void _generate_player_mng ();

public:

  BattleStatus ();

  void shift ();
  Player cur_player () const;

  void set_sun_degree (float degree);
  void sun_move ();
  float sun_degree () const;

  void set_total_time (unsigned int totalTime);
  unsigned int total_time () const;

  void set_time (unsigned int time);
  void reset_time ();
  // Return true when time's out
  bool time_minus ();
  unsigned int time_left () const;

};


#endif